package p5sameWord;

import com.chenlb.mmseg4j.Dictionary;
import com.chenlb.mmseg4j.MMSeg;
import com.chenlb.mmseg4j.MaxWordSeg;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.LetterTokenizer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.util.Version;

import java.io.Reader;

/**
 * 同义词分析器
 * 原理：
 * 我们进行分词的时候首先会有 reader 读取输入--》Tokenizer 进行分词 --》filter进行过滤--》sameWord 同义词判断
 */
final public class MySameWordAnalyzer extends Analyzer{
    //Dictionary dic=Dictionary.getInstance("d:/data");
    //这里本来是使用中文分词器的，现在使用有错误，用其他的代替
    final public TokenStream tokenStream(String fieldName, Reader reader) {

        return new MySameWordTokenFilter(new LetterTokenizer(Version.LUCENE_35,reader));
    }
}
